#задаём переменные
swapfolder="/mmc/mmca1/.gizmoto"
swapfile="$swapfolder/swapfile.swp"
mem_list="$MYPATH/set/memlist"

#если каталог свопа не создан создаём его
if [ ! -d $swapfolder ]
    then
        mkdir     $swapfolder
        chmod 777 $swapfolder
fi

#функции настройки и сохранения

p=3

sel_mem(){
sed -n /\=/p $mem_list >$TMP/tmp_mem
memL1=`grep -c \= $TMP/tmp_mem`
memL2=`sed -e s/\=/\\\=/ $TMP/tmp_mem | sed -n ${p}p`
mem_name="${memL2%%\=*}"
mem_code="${memL2##*\=}"
mmsg=`$SHOWQ -u -t 600 -1 " - " -2 "ОК"   -3 " + " -m "<center><font size=3><b>Изменение размера swap</b></font><br>-----------------<br><font size=2>${p} / ${memL1}<br>${mem_name}"`
           case $mmsg in
               0)
                p=$(($p - 1))
                  if [ ${p} -lt 1 ]
                        then p=`echo ${memL1}`
                  fi
                sel_mem
               ;;
               2)
                p=$(($p + 1))
                   if [ "$p" -gt "$memL1" ]
                        then p=1
                   fi
                 sel_mem
                ;;
                1)
				$SHOWQ -u -1 "" -s "Dialog_Busy" -m "<font size=2><center>конфигурируем<br>файла подкачки</center></font>"&
                sleep 1s
                if [ -f $swapfile ]
                    then
                        start-stop-daemon --start --exec /bin/kill ` pidof showQ `
   		            	$SHOWQ -u -1 "" -s "Dialog_Busy" -m "<font size=2><center>Удаление старого<br>файла подкачки</center></font>"&
                sleep 1s
                rm -f $swapfile
                fi
                start-stop-daemon --start --exec /bin/kill ` pidof showQ `
				$SHOWQ -u -t 600 -1 "" -s "Dialog_Busy" -m "<font size=2><center>создание нового<br>файла подкачки</center></font>"&
                tar zxf "$MYPATH/$mem_code" -C $swapfolder
                echo $mem_name"="$mem_code>$MYPATH/set/mem
                start-stop-daemon --start --exec /bin/kill ` pidof showQ `
                if [ -f $swapfile ]
                    then
                    mmd=`$SHOWQ -u  -1 "Да" -2 "Нет" -m "<center><font size=2>Файл подкачки создан<br>Размер : $mem_name<br>*******************************<br> включить ?</font></center>"`
                    if [ $mmd = "0" ]
                        then
                        start-stop-daemon --start --exec /sbin/swapon   -p 1 -v $swapfile
                        `$SHOWQ -u  -1 "ОК" -2 "" -m "<center>Виртуальная память включена</center>"`
                    fi
                fi
                ;;
esac
}

#проверяем настроен ли свап
if [ ! -f $MYPATH/set/mem ]
    then
        #если не настроен рисуем настройку
        sel_mem
    else
    memL2=`cat $MYPATH/set/mem`
    mem_size="${memL2%%\=*}"
    mem_code="${memL2##*\=}"

         grep -n "$memL2" $mem_list >$TMP/mem_list
         pn=`cat $TMP/mem_list`
         p="${pn%%\:*}"
        #если настроен смотрим подключен или нет
        if /sbin/swapon -s |grep $swapfile
            then
                #если подключен пишем что включен и предлагаем выключить
                msg=`$SHOWQ -u  -1 "Да" -2 "Нет" -m "<center>Виртуальная память<br><font size=2>Состояние: подключена<br>размер: $mem_size </font><br> выключить ?</center>" -g "mem.png"`
                if [ $msg = "0" ]
                    then
            		    start-stop-daemon --start --exec /sbin/swapoff $swapfile
    	                $SHOWQ -u  -1 "ОК" -2 "" -m "<center>Виртуальная память выключена</center>"
                fi
            else
                #если не подключен то пишем что выключен и предлагаем или включить или изменить
                msg=`$SHOWQ -u -t 600  -1 "Да" -2 "Нет" -3 "Изменить" -m "<center>Виртуальная память<br><font size=2>Состояние: выключена<br>размер: $mem_size</font><br> включить ?</center>" -g "mem.png"`
                if [ $msg = "0" ]
                    then
                        if [ ! -f $swapfile ]
                             then
        				$SHOWQ -u -t 600 -1 "" -s "Dialog_Busy" -m "<font size=2><center>создание нового<br>файла подкачки</center></font>"&
                        tar zxf "$MYPATH/$mem_code" -C $swapfolder
                        start-stop-daemon --start --exec /bin/kill ` pidof showQ `
                        fi

                        start-stop-daemon --start --exec /sbin/swapon -v $swapfile -p 1
                        `$SHOWQ -u  -1 "ОК" -2 "" -m "Виртуальная память включена"`
                fi
                if [ $msg = "2" ]
                    then
                        sel_mem
                fi

        fi
fi
rm -f $TMP/mem_list
. module/menu
exit
